package com.futureCloudMOM.core.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.futureCloudMOM.core.base.service.BaseService;
import com.futureCloudMOM.core.domain.BasicBillType;
import com.futureCloudMOM.core.domain.BasicBillrule;
import com.futureCloudMOM.core.vo.BasicBillRuleVO;

import java.util.List;

/**
 * 【basic_billRule(单据规则表)】的数据库操作Service
 *
 * @author 
 * @since 2023-08-31 14:18:56
 */
public interface BasicBillruleService extends BaseService<BasicBillrule> {

    List<BasicBillRuleVO> getList(QueryWrapper<BasicBillRuleVO> queryWrapper);

    /**
     * 根据订单类型生成对应的单据号
     * @param billId    单据类型ID
     * @param InvoiceMainId 业务订单主表ID
     * @param InvoiceSubId  业务订单子表ID
     * @return          单据号
     */
    String getNumber(Long billId,Long InvoiceMainId,Long InvoiceSubId);

    // 数据过滤 已经生成单据规则的订单类型过滤掉
    List<BasicBillType> getListByRuleBillTypeId(BasicBillType basicBillType);

}
